package com.learn.core.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import com.fasterxml.jackson.annotation.JsonInclude;

/**
 * @auther CodeGenerator
 * @create 2021-03-13 19:41:09
 * @describe 课程表实体类
 */
@TableName("l_course")
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value="LCourse对象", description="课程表")
public class LCourse implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "course_id", type = IdType.AUTO)
    private Integer courseId;

    @ApiModelProperty(value = "课程名称")
    @TableField("course_name")
    private String courseName;

    @ApiModelProperty(value = "课程类型1自选 2专题")
    @TableField("course_type")
    private String courseType;

    @ApiModelProperty(value = "所属分类")
    @TableField("course_sort_id")
    private Integer courseSortId;

    @ApiModelProperty(value = "主办单位")
    @TableField("course_company")
    private String courseCompany;

    @TableField(exist = false)
    private String courseCompanyName;

    @ApiModelProperty(value = "学习主题")
    @TableField("course_theme")
    private Integer courseTheme;

    @TableField(exist = false)
    private String courseThemeName;

    @ApiModelProperty(value = "学习2级标题" )
    @TableField("course_theme_flt")
    private Integer courseThemeFlt;

    @ApiModelProperty(value = "失效时间")
    @TableField("course_fail_time")
    private Date courseFailTime;

    @ApiModelProperty(value = "课程封面")
    @TableField("course_cover")
    private String courseCover;

    @ApiModelProperty(value = "课程状态 1为报名阶段 2为学习阶段")
    @TableField("recommend_stutes")
    private String recommendStutes;

    @ApiModelProperty(value = "简介")
    @TableField("description")
    private String description;

    @ApiModelProperty(value = "发布状态")
    @TableField("release_stutes")
    private String releaseStutes;

    @ApiModelProperty(value = "发布时间")
    @TableField("release_time")
    private Date releaseTime;

    @TableField("create_time")
    private Date createTime;

    @TableField("create_user")
    private String createUser;

    @TableField("update_time")
    private Date updateTime;

    @TableField("update_user")
    private String updateUser;

    @ApiModelProperty(value = "学时")
    @TableField("class_hours")
    private String classHours;

    @ApiModelProperty(value = "人数")
    @TableField("people")
    private Integer people;

    @ApiModelProperty(value = "教员")
    @TableField("teacher")
    private Integer teacher;

    @TableField(exist = false)
    private String teacherName;

    @TableField(exist = false)
    private String courseSortName;

    @ApiModelProperty(value = "报名人数")
    @TableField(exist = false)
    private Integer enrollNum;

    @ApiModelProperty(value = "学习人数")
    @TableField(exist = false)
    private Integer studyNum;

    @ApiModelProperty(value = "结业人数")
    @TableField(exist = false)
    private Integer completeNum;

    @ApiModelProperty(value = "学习率")
    @TableField(exist = false)
    private String studyRate;

    @ApiModelProperty(value = "结业率")
    @TableField(exist = false)
    private String completeRate;

    @TableField(exist = false)
    private String themeName;

    @TableField(exist = false)
    private LCourseTarget lCourseTarget;

    public LCourseTarget getlCourseTarget() {
        return lCourseTarget;
    }

    public void setlCourseTarget(LCourseTarget lCourseTarget) {
        this.lCourseTarget = lCourseTarget;
    }

    public String getCourseThemeName() {
        return courseThemeName;
    }

    public void setCourseThemeName(String courseThemeName) {
        this.courseThemeName = courseThemeName;
    }

    public String getCourseCompanyName() {
        return courseCompanyName;
    }

    public void setCourseCompanyName(String courseCompanyName) {
        this.courseCompanyName = courseCompanyName;
    }

    public String getThemeName() {
        return themeName;
    }

    public void setThemeName(String themeName) {
        this.themeName = themeName;
    }

    public Integer getEnrollNum() {
        return enrollNum;
    }

    public void setEnrollNum(Integer enrollNum) {
        this.enrollNum = enrollNum;
    }

    public Integer getStudyNum() {
        return studyNum;
    }

    public void setStudyNum(Integer studyNum) {
        this.studyNum = studyNum;
    }

    public Integer getCompleteNum() {
        return completeNum;
    }

    public void setCompleteNum(Integer completeNum) {
        this.completeNum = completeNum;
    }

    public String getStudyRate() {
        return studyRate;
    }

    public void setStudyRate(String studyRate) {
        this.studyRate = studyRate;
    }

    public String getCompleteRate() {
        return completeRate;
    }

    public void setCompleteRate(String completeRate) {
        this.completeRate = completeRate;
    }

    public String getCourseSortName() {
        return courseSortName;
    }

    public void setCourseSortName(String courseSortName) {
        this.courseSortName = courseSortName;
    }

    public String getTeacherName() {
        return teacherName;
    }

    public void setTeacherName(String teacherName) {
        this.teacherName = teacherName;
    }

    @TableField(exist = false)
    private List<LChapter> lChapters;

    public List<LChapter> getlChapters() {
        return lChapters;
    }

    public void setlChapters(List<LChapter> lChapters) {
        this.lChapters = lChapters;
    }

    public Integer getCourseId() {
        return courseId;
    }

    public LCourse setCourseId(Integer courseId) {
        this.courseId = courseId;
        return this;
    }

    public String getCourseName() {
        return courseName;
    }

    public LCourse setCourseName(String courseName) {
        this.courseName = courseName;
        return this;
    }

    public String getCourseType() {
        return courseType;
    }

    public LCourse setCourseType(String courseType) {
        this.courseType = courseType;
        return this;
    }

    public Integer getCourseSortId() {
        return courseSortId;
    }

    public LCourse setCourseSortId(Integer courseSortId) {
        this.courseSortId = courseSortId;
        return this;
    }

    public String getCourseCompany() {
        return courseCompany;
    }

    public LCourse setCourseCompany(String courseCompany) {
        this.courseCompany = courseCompany;
        return this;
    }

    public Integer getCourseTheme() {
        return courseTheme;
    }

    public LCourse setCourseTheme(Integer courseTheme) {
        this.courseTheme = courseTheme;
        return this;
    }

    public Integer getCourseThemeFlt() {
        return courseThemeFlt;
    }

    public LCourse setCourseThemeFlt(Integer courseThemeFlt) {
        this.courseThemeFlt = courseThemeFlt;
        return this;
    }

    public Date getCourseFailTime() {
        return courseFailTime;
    }

    public LCourse setCourseFailTime(Date courseFailTime) {
        this.courseFailTime = courseFailTime;
        return this;
    }

    public String getCourseCover() {
        return courseCover;
    }

    public LCourse setCourseCover(String courseCover) {
        this.courseCover = courseCover;
        return this;
    }

    public String getRecommendStutes() {
        return recommendStutes;
    }

    public LCourse setRecommendStutes(String recommendStutes) {
        this.recommendStutes = recommendStutes;
        return this;
    }

    public String getDescription() {
        return description;
    }

    public LCourse setDescription(String description) {
        this.description = description;
        return this;
    }

    public String getReleaseStutes() {
        return releaseStutes;
    }

    public LCourse setReleaseStutes(String releaseStutes) {
        this.releaseStutes = releaseStutes;
        return this;
    }

    public Date getReleaseTime() {
        return releaseTime;
    }

    public LCourse setReleaseTime(Date releaseTime) {
        this.releaseTime = releaseTime;
        return this;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public LCourse setCreateTime(Date createTime) {
        this.createTime = createTime;
        return this;
    }

    public String getCreateUser() {
        return createUser;
    }

    public LCourse setCreateUser(String createUser) {
        this.createUser = createUser;
        return this;
    }

    public Date getUpdateTime() {
        return updateTime;
    }

    public LCourse setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
        return this;
    }

    public String getUpdateUser() {
        return updateUser;
    }

    public LCourse setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
        return this;
    }

    public String getClassHours() {
        return classHours;
    }

    public LCourse setClassHours(String classHours) {
        this.classHours = classHours;
        return this;
    }

    public Integer getPeople() {
        return people;
    }

    public LCourse setPeople(Integer people) {
        this.people = people;
        return this;
    }

    public Integer getTeacher() {
        return teacher;
    }

    public LCourse setTeacher(Integer teacher) {
        this.teacher = teacher;
        return this;
    }


    @Override
    public String toString() {
        return "LCourse{" +
        "courseId=" + courseId +
        ", courseName=" + courseName +
        ", courseType=" + courseType +
        ", courseSortId=" + courseSortId +
        ", courseCompany=" + courseCompany +
        ", courseTheme=" + courseTheme +
        ", courseTheme=" + courseThemeFlt +
        ", courseFailTime=" + courseFailTime +
        ", courseCover=" + courseCover +
        ", recommendStutes=" + recommendStutes +
        ", description=" + description +
        ", releaseStutes=" + releaseStutes +
        ", releaseTime=" + releaseTime +
        ", createTime=" + createTime +
        ", createUser=" + createUser +
        ", updateTime=" + updateTime +
        ", updateUser=" + updateUser +
        ", classHours=" + classHours +
        ", people=" + people +
        ", teacher=" + teacher +
        "}";
    }
}